package br.com.siscom.controller;

import java.util.List;

import javax.faces.context.FacesContext;

import org.apache.commons.collections.set.CompositeSet.SetMutator;

import br.com.siscom.model.bean.Funcionario;
import br.com.siscom.model.dao.HibernateDAO;
import br.com.siscom.model.dao.InterfaceDao;
import br.com.siscom.util.FacesContextUtil;

public class LoginBean {
	
	private Funcionario usuario = new Funcionario();
	private Boolean autenticado = false;
	
	public String verificarLogin(){
		
		InterfaceDao<Funcionario> funcDAO = new HibernateDAO<Funcionario>(Funcionario.class, FacesContextUtil.getRequestSession());
		Funcionario userAux = new Funcionario();
		userAux.setLogin(getUsuario().getLogin());
		List <Funcionario> listaFuncionarios = funcDAO.getBeansByExample(userAux);
		if(listaFuncionarios != null && listaFuncionarios.size() > 0){
			userAux = listaFuncionarios.get(0);
			if(usuario.getSenha() != null && usuario.getSenha().equals(userAux.getSenha())){
				autenticado = true;
				usuario = userAux;
				return "sucesso";
			}
		}
		FacesContextUtil.setMensagemErro("Usuario e/ou Login Invalidos");
		return null;
	}
	
	public String sair(){
		setUsuario(new Funcionario());
		autenticado = false;
		return "login";
	}
	
	public Funcionario getUsuario() {
		return usuario;
	}
	public void setUsuario(Funcionario usuario) {
		this.usuario = usuario;
	}
	public Boolean getAutenticado() {
		return autenticado;
	}
	
	
}
